package com.acegear.horizon.domain.events;

/**
 * Created by wangsike on 2017/3/6.
 */
public class UserInfoUpdateEvent extends BaseEvent {

  public enum UpdateType {
    CLIENT, MANAGEMENT
  }

  private Long userId;

  private UpdateType type;

  private String nickname;

  private String avatar;


  private Integer gender;


  private String province;


  private String title;


  public UserInfoUpdateEvent(Long userId, UpdateType type, String nickname, String avatar,
                             Integer gender, String province, String title) {
    this.userId = userId;
    this.type = type;
    this.nickname = nickname;
    this.avatar = avatar;
    this.gender = gender;
    this.province = province;
    this.title = title;
    genEventId();
  }

  public UserInfoUpdateEvent() {
  }


  public Long getUserId() {
    return userId;
  }

  public void setUserId(Long userId) {
    this.userId = userId;
  }

  public UpdateType getType() {
    return type;
  }

  public void setType(UpdateType type) {
    this.type = type;
  }


  public String getNickname() {
    return nickname;
  }

  public void setNickname(String nickname) {
    this.nickname = nickname;
  }

  public String getAvatar() {
    return avatar;
  }

  public void setAvatar(String avatar) {
    this.avatar = avatar;
  }


  public Integer getGender() {
    return gender;
  }

  public void setGender(Integer gender) {
    this.gender = gender;
  }

  public String getProvince() {
    return province;
  }

  public void setProvince(String province) {
    this.province = province;
  }

  public String getTitle() {
    return title;
  }

  public void setTitle(String title) {
    this.title = title;
  }


  @Override
  public String routingKey() {
    return "horizon.domain.user.update";
  }
}
